package com.ruoyi.production.service.impl.stroma;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.order.domain.OrderAllocation;
import com.ruoyi.order.mapper.OrderAllocationMapper;
import com.ruoyi.production.domain.stroma.StromaApply;
import com.ruoyi.production.mapper.stroma.StromaApplyMapper;
import com.ruoyi.production.service.stroma.IStromaApplyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 基质申请Service业务层处理
 *
 * @author ruoyi
 * @date 2021-07-11
 */
@Service
public class StromaApplyServiceImpl implements IStromaApplyService
{
    @Autowired
    private StromaApplyMapper stromaApplyMapper;
    @Autowired
    private OrderAllocationMapper orderAllocationMapper;

    /**
     * 查询基质申请
     *
     * @param stromaApplyId 基质申请ID
     * @return 基质申请
     */
    @Override
    public StromaApply selectStromaApplyById(Long stromaApplyId)
    {
        return stromaApplyMapper.selectStromaApplyById(stromaApplyId);
    }

    /**
     * 查询基质申请列表
     *
     * @param stromaApply 基质申请
     * @return 基质申请
     */
    @Override
    public List<StromaApply> selectStromaApplyList(StromaApply stromaApply)
    {
        return stromaApplyMapper.selectStromaApplyList(stromaApply);
    }

    /**
     * 新增基质申请
     *
     * @param stromaApply 基质申请
     * @return 结果
     */
    @Override
    public int insertStromaApply(StromaApply stromaApply)
    {
        Long orderAllocationId = stromaApply.getOrderAllocationId();
        OrderAllocation orderAllocation = orderAllocationMapper.selectOrderAllocationById(orderAllocationId);
        stromaApply.setOrderId(orderAllocation.getOrderId());














        stromaApply.setCreateTime(DateUtils.getNowDate());



        return stromaApplyMapper.insertStromaApply(stromaApply);
    }

    /**
     * 修改基质申请
     *
     * @param stromaApply 基质申请
     * @return 结果
     */
    @Override
    public int updateStromaApply(StromaApply stromaApply)
    {
        stromaApply.setUpdateTime(DateUtils.getNowDate());
        return stromaApplyMapper.updateStromaApply(stromaApply);
    }

    /**
     * 批量删除基质申请
     *
     * @param stromaApplyIds 需要删除的基质申请ID
     * @return 结果
     */
    @Override
    public int deleteStromaApplyByIds(Long[] stromaApplyIds)
    {
        return stromaApplyMapper.deleteStromaApplyByIds(stromaApplyIds);
    }

    /**
     * 删除基质申请信息
     *
     * @param stromaApplyId 基质申请ID
     * @return 结果
     */
    @Override
    public int deleteStromaApplyById(Long stromaApplyId)
    {
        return stromaApplyMapper.deleteStromaApplyById(stromaApplyId);
    }
}
